package de.fhb.formel1.dbhibernate.persistence;

// Generated 14.01.2010 11:25:02 by Hibernate Tools 3.2.2.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Land generated by hbm2java
 */
@Entity
@Table(name = "Land") 
public class Land implements java.io.Serializable {

	private Integer landId;
	private String name;
	private byte[] flagge;
	private Set<Rennstrecke> rennstrecken = new HashSet<Rennstrecke>(0);
	private Set<Rennfahrer> rennfahrer = new HashSet<Rennfahrer>(0);

	Land() {
	}

	public Land(String name) {
		this.name = name;
	}

	public Land(String name, byte[] flagge) {
		this.name = name;
		this.flagge = flagge;
	}
	
	public Land(String name, byte[] flagge, Set<Rennstrecke> rennstrecken,
			Set<Rennfahrer> rennfahrer) {
		this.name = name;
		this.flagge = flagge;
		this.rennstrecken = rennstrecken;
		this.rennfahrer = rennfahrer;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "LandID", unique = true, nullable = false)
	public Integer getLandId() {
		return this.landId;
	}

	private void setLandId(Integer landId) {
		this.landId = landId;
	}

	@Column(name = "Name", nullable = false, length = 40)
	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "Flagge")
	public byte[] getFlagge() {
		return this.flagge;
	}

	public void setFlagge(byte[] flagge) {
		this.flagge = flagge;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "land")
	public Set<Rennstrecke> getRennstrecken() {
		return this.rennstrecken;
	}

	public void setRennstrecken(Set<Rennstrecke> rennstrecken) {
		this.rennstrecken = rennstrecken;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "land")
	public Set<Rennfahrer> getRennfahrer() {
		return this.rennfahrer;
	}

	private void setRennfahrer(Set<Rennfahrer> rennfahrer) {
		this.rennfahrer = rennfahrer;
	}

}
